The internal RECDATA device is the tool that resides in CPU that allows you to manage data logging type:
To record this data is exploited the RAM of the CPU, for this reason, to use this device, the percentage utilization of data memory (USER Data memory) total shall not exceed 50%. The device occupies the 50% of the RAM.
In the configuration file (.CNF), the BUS section must be declared so that you have the hardware resources required for the implementation of the RECDATA device.
In the INTDEVICE section of the .CNF file must be add the following definition:
![]() | It is necessary that each definition are present on the same line. In case you do not want to assign a resource, for example IntL, You must enter in the appropriate field the X string. |
|---|
;--------------------------------- ; Internal device declaration ;--------------------------------- INTDEVICE .. <DEVICE_NAME> RECDATA TCAMP QCTL1 QCTL2 IOUTA1 IOUTA2 INTL1 INTL2 ING1 ING2 OUT1 OUT2
where:
| <device name> | The name assigned to the device. |
| RECDATA | Keyword that identifies the devices. |
| TCamp | Tempo di campionamento device (1÷255 ms). |
| QCTL1 | Address bi-directional meter 1 (to prevent the device uses this resource to put the X.X character). |
| QCTL2 | Address bi-directional meter 2 (to prevent the device uses this resource to put the X.X character). |
| IOutA1 | Hardware address of the DAC component of analog output 1. (to prevent the device uses this resource to put the X.X character). |
| IOutA2 | Hardware address of the DAC component of analog output 2. (to prevent the device uses this resource to put the X.X character). |
| IntL1 | Number of the interrupt line 1 (to prevent the device uses this resource to put the X character). This interrupt line can give the start to registration. |
| IntL2 | Number of the interrupt line 2 (to prevent the device uses this resource to put the X character). |
| Ing1 | Generic input 1 |
| Ing2 | Generic input 2 |
| Out1 | Generic output 1 |
| Out2 | Generic output 2 |
;--------------------------------- ; Internal device declaration ;--------------------------------- INTDEVICE Rec RECDATA 2 2.CNT01 2.CNT02 2.AN01 2.AN02 1 2 2.INP01 2.INP02 2.OUT01 2.OUT02
Below is a diagram of the operation of the RECDATA device
The RECDATA device works only with the maximum resolution of the transducer (bit encoder * 4).
In the case that the analog output declared in the configuration file is used by a device to analog positioning (CAMMING or EANPOS type), the monitor offers the display of the theoretical position of the axis in addition to the practical. The difference between the two counts is the following error of axis. The reference device for this information is the one that currently using the analog output hardware resource.
You can start recording via the interrupt input (IntL1)
Il device utilizza il 50% della memoria RAM della CPU, la quale viene suddivisa in bancate di 16
Byte. Il numero di passi disponibili per la registrazione viene indicato dal parametro stepnum, il
quale è solamente in lettura, ed è calcolato con la formula:
stepnum = RAM disponibile : 16
I 16 Byte della bancata (chiamati step) sono a loro volta divisi in 4 Long, chiamati data1, data2,
data3 e data4. La formattazione dei dati allinterno della memoria dipende da come viene
impostato il parametro mode seguendo il seguente ordine:
Stato I/O
Encoder 1
Encoder 2
Uscita analogica 1
Uscita analogica 2
Errore di inseguimento 1
Errore di inseguimento 2
Encoder virtuale 1
Encoder virtuale 2
Per lutente risulterà difficile interpretare i dati rilevati senza passare attraverso il QVIEW (lambiente
di sviluppo dispone di un tool dedicato). Per questo motivo non viene approfondito largomento
se non su specifica richiesta del cliente.
La presenza di un errore nel device viene segnalato dallo stato st_error.
Quando st_error è uguale a 1, troviamo presente sulla variabile errcode il tipo di errore intervenuto
(vedi tabella) e nella variabile errvalue una indicazione sulla causa dellerrore
| Codice | Priorità | Descrizione |
|---|---|---|
| 1 | 1 | Modificato parametro mode durante la registrazione |
Se il device va in errore, per poter riprendere la lavorazione bisogna cancellare lo stato st_error attraverso il comando RSERR.
La presenza di un warning nel sistema camming viene segnalato dallo stato st_warning.
Essendo causato da un evento non grave ed essendo garantita in questa situazione la gestione del
device, il tool continua il suo lavoro.
Quando st_warning è uguale a 1, troviamo presente sulla variabile wrncode il tipo di warning
intervenuto (vedi tabella) e nella variabile wrnvalue una indicazione sulla causa che ha provocato
il warning.
| Codice | Priorità | Descrizione |
|---|---|---|
| 1 | 0 | Comando non eseguito |
Per cancellare lo stato st_warning bisogna inviare il comando RSWRN.
Il nome del parametro, stato o comando viene riportato alla sinistra della tabella.
R
Indica se il relativo parametro o stato è ritentivo (al momento dellinizializzazione del device
mantiene lo stato precedentemente definito), oppure lo stato che assume al momento
dellinizializzazione del device.
Se il device non necessita di inizializzazione il campo R indica il valore che il parametro o
stato assume allaccensione della scheda.
R = Ritentivo
0 = Al momento dellinizializzazione del device il valore viene forzato a zero.
1 = Al momento dellinizializzazione del device il valore viene forzato a uno.
- = Al momento dellinizializzazione del device viene presentato il valore significativo.
D
Indica la dimensione del parametro.
F = Flag
B = Byte
W = Word
L = Long
S = Single Float
Vengono descritte tutte le condizioni necessarie affinché il parametro sia considerato corretto
o perché il comando venga accettato.
In alcuni casi vengono specificati dei valori limite per laccettazione del parametro: se vengono
introdotti dei valori esterni ai limiti impostati, il dato viene comunque accettato; pertanto
devono essere previsti opportuni controlli dellapplicativo tali da garantire il corretto funzionamento.
Per lesecuzione di un comando, tutte le relative condizioni devono necessariamente essere
soddisfatte; in caso contrario il comando non viene inviato.
A
Indica la modalità di accesso.
R = Read (lettura).
W = Write (scrittura).
RW = Read / Write.
I comandi sono stati ordinati con priorità decrescente. Ad esempio, in caso di contemporaneità dei comandi INIT ed EMRG, viene acquisito per primo il comando INIT.
| Nome | Condizioni | Descrizione |
|---|---|---|
| STARTR | st_rec = 0 st_error = 0 | Start recording Comanda l'inizio dell'acquisizione dei dati. Attiva lo stato st_reck. |
| STOPR | st_rec = 1 | Stop recording Ferma la procedura di registrazione dati. Azzera lo stato st_rec. |
| READSTEP | stepnum>stepin>1 | Read step Consente di leggere lo step specificato in stepin. il dato è disponibile quando stepin=stepout. E' consigliato leggere quando non è in corso una registrazione (st_rec = 0). |
| INTENBL | capture>0 | Interrupt enable Abilita cattura dell'interrupt indicato in IntL1 nel file di configurazione. All'arrivo dell'interrupt il devices inizierà la registrazione che verrà memorizzato in delta. Attiva lo stato st_intenbl. |
| INTDSBL | Nessuna | Interrupt disable Disabilita la cattura dell'interrupt. Azzera lo stato st_intenbl. |
| RSCAPTURE | Nessuna | Reset capture Disattiva lo stato di st_capture. |
| RSERR | Nessuna | Reset error Azzera lo stato st_error. |
| RSWRN | Nessuna | Reset warning Azzera lo stato st_warning. |
| Nome | D | R | A | Condizioni | Descrizione |
|---|---|---|---|---|---|
| stepnum | L | 0 | R | Nessuna | Step number Indica il massimo numero di step possibili da registrare. Il valore viene fissato automaticamente all'accensione del sistema e non può essere variato. Range valido: 1 ÷ 999999 |
| stepin | L | 0 | R-W | Nessuna | Step input Indica il numero di step che l'utente intende leggere con il comando di READSTEP. Range valido: 1 ÷ stepnum |
| stepout | L | 0 | R | Nessuna | Step output Indica il numero di step disponibile alla lettura nei parametri data1, data2, data3 e data4. Range valido: -999999 ÷ 999999 |
| data1 | L | 0 | R | Nessuna | Data number 1 Variabile d'uso. Al suo interno di trovano i valori catturati durante la registrazione. Vedi capitolo dediato. |
| data2 | L | 0 | R | Nessuna | Data number 2 Variabile d'uso. Al suo interno di trovano i valori catturati durante la registrazione. Vedi capitolo dedicato. |
| data3 | L | 0 | R | Nessuna | Data number 3 Variabile d'uso. Al suo interno di trovano i valori catturati durante la registrazione. Vedi capitolo dedicato. |
| data4 | L | 0 | R | Nessuna | Data number 4 Variabile d'uso. Al suo interno di trovano i valori catturati durante la registrazione. Vedi capitolo dedicato. |
| capture | B | R | R-W | Nessuna | Capture mode Definisce il modo di cattura dell'interrupt sull'impulso di zero. 0=Disabilitato. 1=One-shot su fronte di salita. Viene catturato il primo fronte di salita dell`impulso di zero dopo l`attivazione di st_intenbl. 2=One-shot su fronte di discesa. Viene catturato il primo fronte di discesa dell`impulso di zero dopo l`attivazione di st_intenbl. Range valido: 0 ÷ 2. |
| mode | B | R | R-W | st_rec = 0 | Recording mode Il modo di registrazione viene definito da un Byte i cui singoli bit, se impostati a 1, abilitano l'acquisizione. 20 = Encoder 1 21 = Encoder 2 22 = Uscita analogica 1 23 = Uscita analogica 2 24 = Errore di inseguimento 1 25 = Errore di inseguimento 2 26 = Encoder virtuale 1 27 = Encoder virtuale 2 Ad esempio, se si vogliono registrare i valori di Encoder 1 e Encoder 2, si imposterà mode = 3 |
| tbase | W | R | R | Nessuna | Time base Visualizza il tempo di campionamento programmato nel file di configurazione. |
| errcode | B | 0 | R | Nessuna | Error code Indica il tipo di errore intervenuto nel sistema. Il codice è valido solo se st_error = 1 (Vedi capitolo dedicato) Range valido: 0 ÷ 100. |
| errvalue | B | 0 | R | Nessuna | Error value Indica la causa dell'errore intervenuto nel sistema. Il codice è valido solo se st_error = 1 (Vedi capitolo dedicato) Range valido: 0 ÷ 100. |
| wrncode | B | 0 | R | Nessuna | Warning code Indica il tipo di warning intervenuto nel sistema. Il codice è valido solo se st_warning = 1 (Vedi capitolo dedicato) Range valido: 0 ÷ 100. |
| wrnvalue | B | 0 | R | Nessuna | Warning value Indica la causa del warning intervenuto nel sistema. Il codice è valido solo se st_warning = 1 (Vedi capitolo dedicato) Range valido: 0 ÷ 100. |
| Nome | D | R | A | Condizioni | Descrizione |
|---|---|---|---|---|---|
| st_intenbl | F | 0 | R | Nessuna | Interrupt enabled Segnala l'abilitazione alla cattura dello lo start alla registrazione da linea di interrupt. Viene attivato dal comando INTENBL e disattivato dal comando INTDSBL o sul fronte di salita di st_capture. 0 = Interrupt disabilitato 1 = Interrupt abilitato. All'accensione per default viene posto a zero. |
| st_capture | F | 0 | R | Nessuna | Interrupt captured Segnalazione di interrupt catturato; viene resettato con il comando RSCAPTURE. 0 = Interrupt non catturato 1 = Interrupt catturato All'accensione per default viene posto a zero. |
| st_int1 | F | 0 | R | Nessuna | Status of interrupt line 1 Indica lo stato della linea di interrupt IntL1. 0 = Ingresso in interrupt disattivo. 1 = Ingresso in interrupt attivo. All'accensione per default viene posto a zero. |
| st_int2 | F | 0 | R | Nessuna | Status of interrupt line 2 Indica lo stato della linea di interrupt IntL2. 0 = Ingresso in interrupt disattivo. 1 = Ingresso in interrupt attivo. All'accensione per default viene posto a zero. |
| st_error | F | 0 | R | Nessuna | Status of device error Indica lo stato di errore nel device. Per la decodifica dell'errore si deve fare riferimento alla variabile errcode ed errvalue. 0 = Errore non presente. 1 = Errore presente. All'accensione per default viene posto a zero. |
| st_warning | F | 0 | R | Nessuna | Status of device warning Indica lo stato di warning nel device. Per la decodifica del warning si deve fare riferimento alla variabile wrncode e wrnvalue. 0 = Warning non presente. 1 = Warning presente All'accensione per default viene posto a zero. |
Nessuna limitazione